Digital servo control system for a hard disc drive using a voice coil motor in voltage mode

ABSTRACT

This invention comprises an architecture for voltage mode control of a voice coil motor in a hard disk drive. In contrast to conventional current mode control, coil current is not sensed or measured, which simplifies the feedback design with less hardware required in the implementation. Common design methodologies for the square root velocity profile, linear velocity profile and regulator/estimator control system designs can be migrated from the current mode architecture to the voltage mode architecture.

This application claims priority under 35 USC §119(e)(1) of ProvisionalApplication No. 60/255,871, filed Dec. 15, 2000.

BACKGROUND

In a Hard Disk Drive assembly illustrated in simplified form in FIG. 1,the read/write R/W heads 101 are attached to one end of an actuator arm102 that pivots about point 103. A voice coil motor VCM 104 is locatedat the opposite end of the arm and, when driven, generates a torque,T_(vcm), about the pivot to control the head position, θ_(h). Thespindle motor 105 drives multiple platters 106 which contain the storedinformation. The equivalent circuit model of the simplified HDDassembly, known in this discipline as the ‘Plant’, is illustrated inFIG. 2.

Because of errors in the servo-writing process and imperfections in thespindle bearings, the true location of a given track, y 201, movesbeneath the head. Through the servo-writing process, positioninformation is encoded onto the disk surface at a finite number ofequally spaced locations around the disk known as servo sectors. At eachservo sector, the read head serves as the position transducer for theVCM servo system, and provides the signal y_(m) 202, the measuredposition of the head with respect to the track center line. The positionmeasurement is processed by a compensation algorithm and produces acontrol signal, u 203, which is indicative of the desired VCM torquenecessary to keep the R/W head on track in the presence of the variousdisturbance torques and disk errors. A power driver is used to transformthe control signal into the power signal, V_(d) 204, necessary tophysically actuate the arm and move the head.

Voice Coil Motor

The VCM, consisting of a coil of wire sandwiched between two permanentmagnets, produces an actuating torque on the arm carrying the R/W head.The torque is a function of the coil current and the position of thecoils between the permanent magnets and can be described by theequation,

T _(vcm) =k _(i)(i,θ)  (1)

If we assume that the magnetic field strength, B, is constant over thefull range of travel of the actuator, then the torque function can beapproximated by the linear relation, k_(t)(i,θ)=K_(t), and (1) can bewritten,

T _(vcm) =K _(t) i  (2)

If N is the number of turns in the coil, l is the length of each turn inthe coil and r is the distance from the coil center to the arm pivot,then K_(t) is given by,

K _(t) =NBlr  (3)

Because a moving coil in a magnetic field generates an electricpotential, known as the back e.m.f. voltage, the effective voltage onthe coil, V_(c), is a combination of the voltage supplied by the powerdriver, V_(d), and the back e.m.f. voltage, V_(b),

 V _(c) =V _(d) −V _(b)  (4)

The back e.m.f. voltage is a function of the angular velocity of themoving coil ω, and is given by the equation,

V _(b) =K _(t)ω  (5)

where K_(t) is given by equation (3).

Conventional Hard Disk Drive Controllers

Voice Coil Motors in conventional hard disk drives are controlled with acurrent command to a transconductance loop. The principle, illustratedin FIG. 3, is that this high bandwidth current loop 301 is able toreject disturbances and provide more protection from system parameteruncertainty than a smaller bandwidth. control system can. The circuitryand components needed to build the current loop can be costly when ahard disk drive manufacturer is producing millions of disk drives.Conventional current mode control architectures require both a measuredcoil current 301 and measured position 302 components to obtain a stableconfiguration.

The illustration of FIG. 4 is derived from U.S. Pat. No. 4,679,103awarded Jul. 7, 1987 and is largely representative of presently usedcurrent mode control techniques. The position signal P_(OS)(t) 400,which is a function of time, is amplified in block 411 and thenseparated into primary 402 and quadrature 404 components in thedemodulator 412. These signals are converted to digital samplesP_(ESP)(n) 406 and P_(ESQ)(n) 408 by A/D converters 413 and 414,respectively. Note that it is technically feasible to embody A/Dconverters 413 and 414 using a single digitizer multiplexed between thetwo analog inputs. This would save circuits. Note this alternative isfeasible only if the sampling rate is low enough to permit the singledigitizer to form two digital words each sample period, one for thein-phase signal and one for the quadrature signal. The voice coilcurrent signal i(t) 403 is also sampled by an A/D converter 421, whichdevelops the current feedback signal i(n) 405. Desired position signalXD 409 is supplied as an input to the state estimator and summing loopfunction 415 which completes computation of the control input signalu(n) 410 from the three components P_(ESP)(n), P_(ESQ)(n), and i(n). Thedigital signal u(n) is then converted in D/A converter 416 to the analogcontrol input signal u(t) 420 which drives the power amplifier 417.

The possibility of removing the current feedback signal 403 and drivingthe VCM in voltage mode without any current feedback would allow forcost reduction in the electronic control module. If this could beimplemented losing none of the desired performance, an extremelyattractive alternative using voltage mode control could be realized. Thefollowing illustrates a current mode design using available simulationand synthesis techniques. This will provide a contrast to the presentinvention in which control of the voice coil motor is accomplished usinga simpler voltage mode architecture.

Current Mode Control System

The conventional current mode control system makes use of a reducedorder model for current mode control of a hard disk drive actuator andthe related control system. This control system is divided into twoparts: one for seeking mode and one for tracking mode. The design ofeach controller is discussed and guidelines are provided whereappropriate after the model of the actuator is discussed.

Current Mode Actuator Model

The reduced order model of a hard disk drive actuator under current modecontrol may be shown to be of the form

{dot over (x)}=Ax+Bu(t−λ)

y=Cx  (6)

where the state vector, x, was defined as $\begin{matrix}{x = {\begin{bmatrix}\theta \\\omega \\b\end{bmatrix}\quad {and}}} & (7) \\{A = {{\left\lbrack {{- \frac{\begin{matrix}0 \\K_{spr}\end{matrix}}{\begin{matrix}J \\0\end{matrix}}} - {\frac{\begin{matrix}1 \\K_{v}\end{matrix}}{\begin{matrix}J \\0\end{matrix}}\frac{\begin{matrix}0 \\{K_{t}K_{drv}}\end{matrix}}{\begin{matrix}J \\0\end{matrix}}}} \right\rbrack \quad B} = {{\left\lbrack \frac{\begin{matrix}0 \\{K_{t}K_{drv}}\end{matrix}}{\begin{matrix}J \\0\end{matrix}} \right\rbrack \quad C^{T}} = {\begin{bmatrix}K_{pes} \\0 \\0\end{bmatrix}.}}}} & (8)\end{matrix}$

These equations (6), (7), and (8) represent collectively the informationcontained in the equation of FIG. 4 for current mode control. The statesare θ, the angular position of the VCM shaft in units of radians, ω, theangular velocity of the VCM shaft in units of radians/sec and b, a biasin units of D/A bits. The output is y, the position of the read/writehead in units of track bits. Since the plant is positioned by adiscrete-time control system running in a DSP, a computational delay, λ,was incorporated into the model.

In that discussion the discrete-time model of the plant becomes

 x[n+1]=Φx[n]+Γ₂ u[n]+Γ₁ u[n−1]y[n]=Cx[n]  (9)

where Φ=e^(AT) ^(_(s)) , Γ₁=∫_(T) _(s) _(−λ) ^(T) ^(_(s)) e^(At)B dt andΓ₂=∫₀ ^(T) ^(_(s)) ^(−λ)e^(AT)B dt. By creating an additional statex_(a)[n]=u[n−1] and augmenting it with the original state vector, theplant model becomes $\begin{matrix}{{\begin{bmatrix}{x\left\lbrack {n + 1} \right\rbrack} \\{x_{a}\left\lbrack {n + 1} \right\rbrack}\end{bmatrix} = {{\begin{bmatrix}\Phi & \Gamma_{1} \\0 & 0\end{bmatrix}\begin{bmatrix}{x\lbrack n\rbrack} \\{x_{a}\lbrack n\rbrack}\end{bmatrix}} + {\begin{bmatrix}\Gamma_{2} \\1\end{bmatrix}{u\lbrack n\rbrack}}}}{{y\lbrack n\rbrack} = {\left\lbrack {C\quad 0} \right\rbrack \begin{bmatrix}{x\lbrack n\rbrack} \\{x_{a}\lbrack n\rbrack}\end{bmatrix}}}} & (10)\end{matrix}$

For convenience in the firmware, the units of the state variables havebe subjected to the transformation $\begin{matrix}{T = \begin{bmatrix}K_{pes} & 0 & 0 & 0 \\0 & {K_{pes} \cdot T_{s}} & 0 & 0 \\0 & 0 & 1 & 0 \\0 & 0 & 0 & 1\end{bmatrix}} & (11)\end{matrix}$

This transformation was applied to give the angular position state unitsof bits and the angular velocity state units of track bits/sample. Theunits of the bias state and the previous input state are unchanged bythis transformation.

Following these steps, the numerical model of the current mode plant canbe written in the form

x[n+1]=Fx[n]+Gu[n]y[n]=Hx[n]  (12)

where $\begin{matrix}{F = {{\begin{bmatrix}1 & 0.9960 & 1.8042 & 0.9591 \\0 & 0.9920 & 3.6036 & 1.1352 \\0 & 0 & 1 & 0 \\0 & 0 & 0 & 0\end{bmatrix}\quad G} = {{\begin{bmatrix}0.8451 \\2.4683 \\0 \\1\end{bmatrix}H^{T}} = {\begin{bmatrix}1 \\0 \\0 \\0\end{bmatrix}.}}}} & (13)\end{matrix}$

The frequency response of the simplified model of the current mode planthas constant magnitude at low frequency which represents friction andcable bias in the plant and then changes to a double integrator effectabout 5 Hz which represents the idealistic second-order plant created bythe transconductance loop.

Given the model and frequency response of the current mode plant, thecontrol system can be designed to make the hard disk drive seek andtrack. Since these two modes of operation are distinctly different,controller switching is employed in the transition between seeking andtracking modes.

Current Mode Seeking Controller

The purpose of the seeking controller is to move the actuator arm fromthe current track location to within a few tracks of a desired tracklocation in the shortest amount of time possible. This objective isusually met by controlling the acceleration and deceleration portions ofthe seek trajectory with the help of an estimator/regulator controlsystem. Once the head position error is within a prescribed number oftracks, the control system makes a transition from the seekingcontroller to the tracking controller.

The acceleration portion of the seek trajectory is basically open loopfrom a control systems perspective. The control system determines thesign and magnitude of the maximum command it can apply based on thedirection and length of seek. Using an estimator, the velocity ispredicted for the next control cycle to determine when the decelerationportion of the seek trajectory should be initiated. Once the predictedvelocity exceeds the velocity necessary for decelerating to the desiredtrack, the deceleration portion of the seek trajectory is activated.

The deceleration portion of the seek trajectory is separated into alinear velocity profile or a square root velocity profile depending onthe number of tracks that the head is from the desired track. Forexample, denoting the number of tracks to go (sixty tracks in thisexample) with the variable T_(lin), the linear velocity profile commandcan be written as

ν _(lin) =K·P _(err) when |P _(err) |≦T _(lin)  (14)

where ν_(lin) is the desired velocity generated by the linear velocityprofile method, K is the gain parameter relating position error to thedesired velocity command and P_(err) is the position error of the head,i.e. the difference between the desired track position X_(D) of the headand the actual track position of the head.

The square root velocity profile method is derived from the kinematicsof a simple second-order system. Assuming constant acceleration, thesquare root velocity profile command can be written as

ν_(sqrt) =sgn(P _(err))·{square root over (ν₀ ²+2a|P _(err)|)} when |P_(err) |>T _(lin)  (15)

where ν_(sqrt) is the desired velocity generated by the square rootvelocity profile method, a is the magnitude of the acceleration and ν₀is a constant denoting an offset in the square root velocity profile.

By equating the value for each velocity profile and the slope of eachvelocity profile at the transition point T_(lin), the unknown constantsK and ν₀ can be determined. The linear velocity profile can be writtenas $\begin{matrix}{v_{lin} = {\sqrt{\frac{a}{T_{lin}}} \cdot P_{err}}} & (16)\end{matrix}$

and the square root velocity profile can be written as $\begin{matrix}{v_{sqrt} = {{{sgn}\left( P_{err} \right)} \cdot {\sqrt{2{a\left( {{P_{err}} - \frac{T_{lin}}{2}} \right)}}.}}} & (17)\end{matrix}$

FIG. 5 shows a plot of the linear velocity profile command 501 and thesquare root velocity profile command 502 for ±200 tracks of positionerror, P_(err). At |P_(err)|=T_(lin), the linear velocity profile istangent to the square root velocity profile.

The velocity profile technique requires that a method for estimating thevelocity of the head must be developed. The predicted head velocity forthe next sample time is needed during the acceleration portion of theseek trajectory and the current head velocity at the current sample timeis needed during the deceleration portion of the seek trajectory. In ahard disk drive, the position of the head is determined by comparing therelative amplitudes of successive bursts but there are no signalspresent to determine the velocity of the head. As a result, an estimatoris used to provide accurate velocity estimates during seek maneuvers. Inaddition, a regulator can be designed to accurately control the headposition.

Reference [1] provides a thorough discussion of estimator/regulatorcontrol system design. The equations for a current estimator/regulatorcontrol system can be written as

x _(c)[n]=x _(p)[n]+L _(c)(y[n]−Hx _(p)[n]) x _(p)[n+1]=Fx_(c)[n]+Gu[n]u[n]=−K _(c) x _(c)[n]  (18)

where x_(c) is a vector of current estimator states, x_(p) is a vectorof predicted estimator states, L_(c) is a vector of current estimatorgains and K_(c) is a vector of regulator gains.

From these expressions, the predicted head velocity can be determinedfor the acceleration portion of the seek trajectory and the current headvelocity can be determined for the deceleration portion of the seektrajectory. A block diagram illustrating the seeking decelerationcontroller is shown in FIG. 6. Switching between the square rootvelocity profile and the linear velocity profile is indicated by theswitch 600 with positions (a) square root velocity profile 601 and (b)linear velocity profile 602 respectively. The parameters x_(c1)[n] 603and x_(c2)[n] 604 are defined by equation (18).

This form of feedback allows the square root velocity profile and thelinear velocity profile to co-exist in the same control architecture.The current velocity estimate is subtracted from the desired velocity toform a velocity error which drives the rest of the control system.

Several methods exist to determine or estimate regulator gains. Oneapproach involves placing the estimator roots so that the resultantresponse is faster than what would result from using regulator roots (bya factor of 2 to 4) so that the total response is dominated by theslower regulator poles. This is developed more fully in reference [1].For the current estimator gains, z-domain roots of 0, 0.2373, 0.3009 and0.8668 resulted in a gain matrix of L_(c)=[0.9376 0.6163 0.0197 0]^(T).For the regulator gains, z-domain roots of 0.6675, 0.4724±j0.1239 and 1resulted in gains of K_(c)=[0.0271 0.1445 1 0].

The frequency response of the current mode seeking controller is that ofa typical network having an integrator and using two lead terms to addphase margin to the plant near the crossover frequency and two poles toflatten the frequency response at high frequency. There is also alead/lag pair at high frequency to satisfy the controller orderconstraints of the regulator/estimator design.

The controller frequency response can be combined with the plantfrequency response to produce the open loop frequency response for theseeking mode. For this seeking controller, the gain margin is 7.1 dB,the phase margin is 31.4° and the open-loop crossover frequency is 520.8Hz. This controller is used to move the head only to within 2 or 3tracks of the desired track. At that point, the tracking controllerbecomes active.

Current Mode Tracking Controller

The purpose of the tracking controller is to assume control of the VCMfrom the seeking controller when the head is a few tracks away for thedesired track and move it to the desired location with less than onetrack of overshoot. Once the head is within some prescribed fraction ofa track for several consecutive control cycles, the system is consideredto be ‘on-track’ and reading and writing of data can occur. If the headposition ever exceeds some pre-determined small fraction of a track, itis considered ‘off-track’ and the hard drive is not allowed to writedata. The control system must relocate the head to within the prescribedfraction of a track before the system is returned to the ‘on-track’state and writing can resume. Therefore, it is important that thecontrol system keeps the head on track once it has achieved the‘on-track’ state.

To better regulate the position error of the system, the trackingcontroller is a series filter with P_(err), as its input and a DACcommand, u, as its output. Since the control system employs afixed-point processor, a parallel cascade representation of the controlsystem was chosen to minimize numerical issues. A block diagram of thetracking controller is shown in FIG. 7. This form permits a largeportion of the controller to be pre-computed so that the computationaldelay is minimized. The K_(ca), K_(cb) and K_(cc) variables are used toadjust the pole and zero locations of the filter. The K_(m) variableallows the integrator to be turned on and off depending on the controlsystem logic. Finally, the K_(loop) variable is used to adjust the DCgain of the controller so that calibration routines can set an open-loopcrossover frequency of 600 Hz for the open-loop system.

The over all transfer function for the control system shown in FIG. 4can be written as $\begin{matrix}{\frac{u}{P_{err}} = {K_{loop}{\frac{z^{3} + {\left( {K_{ni} - K_{ca} - 2} \right)z^{2}} + {\left( {K_{ca} + K_{cb} + 1} \right)z} - K_{cb}}{{z\left( {z - 1} \right)}\left( {z - K_{cc}} \right)}.}}} & (19)\end{matrix}$

Notice that the controller has an integrator to drive the position errorto zero, a pole at the origin in the z-domain (at infinite it thes-domain) and a pole at z=K_(cc). The zeros of the series filter aredetermined by the values of K_(ca), K_(cb) and K_(m). The values foreach gain are K_(ca)=0.2737, K_(cb)=0.3811, K_(cc)=0.2765,K_(loop)=0.1786 and K_(m)=0 or 0.0072.

Since the value of K_(m) can either be 0 or 0.0072, the characteristicsof the filter change when the integrator is turned on or off. Bothconditions are checked to ensure that the system is stable for bothmodes of operation. When the integrator is off, K_(m)=0 and the seriesfilter can be factored into $\begin{matrix}{\frac{u}{P_{err}} = {K_{loop}\frac{\left( {z - 1} \right)\left( {z^{2} - {\left( {K_{ca} + 1} \right)z} + K_{cb}} \right)}{{z\left( {z - 1} \right)}\left( {z - K_{cc}} \right)}}} & (20)\end{matrix}$

to demonstrate how a zero is created to cancel the integrator pole.

The frequency response of the tracking controller for current mode showsthat the primary effect of turning the integrator off is a gain shift toa constant value of −31.5 dB and a phase shift of 90° below 100 Hz. Nearthe open-loop crossover frequency of 600 Hz, the magnitude and phase ofthe two controllers are nearly identical so there are no criticalstability issues related to the integrator.

The effect of the tracking controller on the plant frequency responsecan be summarized as follows. When the integrator is ‘off’, the gainmargin is 7.4 dB, the phase margin is 40.6° and the open-loop crossoverfrequency is 563.1 Hz. After turning ‘on’ the integrator, the gainmargin becomes 7.5 dB, the phase margin becomes 40.8° and the open-loopcrossover frequency becomes 534.7 Hz. In either case, the phase marginfor the tracking controller is nearly 10° larger than the phase marginfor the seeking controller. This extra phase margin will reduce theamount of overshoot in the seek response as the head approaches thedesired track.

SUMMARY OF THE INVENTION

This invention comprises a control system architecture for voltage modecontrol of the voice coil motor VCM in a hard disk drive. The designmethods and philosophies employed for the voltage mode architecture ofthis invention, were adapted in part, from current mode controlapproaches when appropriate, and only algorithms relevant to bothapproaches were migrated to the voltage mode design. For example, thesquare root velocity profile method for current mode control can be usedin voltage mode control. The only modification required is toappropriately scale the regulator gains.

The control system design was developed first, in the background sectionof this application, for current mode control of a hard disk drive. Inthe detailed description of the invention, the adaptation of the designto voltage mode control is presented. Experimental data validates thesystem models used.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other aspects of the invention are illustrated in thedrawings, in which:

FIG. 1 illustrates a Hard Disk Drive assembly from top view and insimplified form;

FIG. 2 illustrates the equivalent model of the plant corresponding tothe simplified HDD assembly of FIG. 1;

FIG. 3 illustrates a voice coil motor in a conventional hard disk drivecontrolled with a current command to a transconductance loop;

FIG. 4 illustrates the control system block diagram derived from U.S.Pat. No. 4,679,103 which is largely representative of presently usedcurrent mode control techniques;

FIG. 5 illustrates a plot of the linear velocity profile command and thesquare root velocity profile command;

FIG. 6 illustrates the block diagram of the deceleration portion of theseeking current mode controller;

FIG. 7 illustrates a block diagram of a series filter for tracking modewhich permits a large portion of the current mode controller to bepre-computed so that the computational delay is minimized;

FIG. 8 illustrates the voltage mode control system architecture of thisinvention which uses voltage mode control techniques and does notrequire measurement of voice coil current or feedback relating to voicecoil current;

FIG. 9 illustrates the block diagram of the deceleration portion of thevoltage mode seeking controller;

FIG. 10 illustrates a block diagram of the series filter representationfor tracking mode which permits a large portion of the voltage modecontroller to be pre-computed so that the computational delay isminimized;

FIG. 11 illustrates the behavior of the composite PES signal duringtrack follow for both current mode and voltage mode controlarchitectures; and

FIG. 12 illustrates a scatter plot of seek time versus seek length for1000 random seeks for both the current mode and the voltage modearchitectures.

DETAILED DESCRIPTION OF THE INVENTION

The voltage mode control architecture is illustrated in simplified formin FIG. 8. The position signal Pos 800 is amplified in block 811 andthen separated into primary 802 and quadrature 804 components in thedemodulator 812. These signals are converted to digital samplesP_(ESP)(n) 806 and P_(ESQ)(n) 808 by A/D converters 813 and 814respectively. Desired position signal x_(D) 809 is supplied as an inputto the state estimator and summing loop function 815 which completescomputation of the control input signal u(n) 810 from the two componentsP_(ESP)(n) and P_(ESQ)(n). The digital signal u(n) is then converted inD/A converter 816 to the analog control input signal u(t) 820 whichdrives the power amplifier 817.

The derivations below lead to expressions for the ratio P_(err)/u(n) interms of plant parameters. In these equations P_(err) is the positionerror of the head, i.e. the difference between the desired trackposition X_(D) of the head and the actual track position of the headP_(OS).

Voltage Mode Control System

The following describes the reduced order model for voltage mode controlof a hard disk drive actuator and the related control system design. Thecontrol system has two major functions, seeking mode and tracking mode,like the current mode architecture. The design of each controller isdiscussed and guidelines are provided where appropriate after the modelof the actuator is discussed.

Voltage Mode Actuator Model

The model of a hard disk drive actuator under voltage mode control wasshown to be of the form

 {dot over (x)}=Ax+Bu y=Cx  (21)

where the state vector, x, was defined as $\begin{matrix}{x = {\begin{bmatrix}\theta \\\omega \\i \\b\end{bmatrix}\quad {and}}} & (22) \\{A = {{\begin{bmatrix}0 & 1 & 0 & 0 \\0 & 0 & \frac{K_{t}}{J} & 0 \\0 & {- \frac{K_{b}}{L}} & {- \frac{R + R_{s}}{L}} & \frac{K_{drv}}{L} \\0 & 0 & 0 & 0\end{bmatrix}\quad B} = {{\begin{bmatrix}0 \\0 \\\frac{K_{drv}}{L} \\0\end{bmatrix}\quad C^{T}} = {\begin{bmatrix}K_{pes} \\0 \\0 \\0\end{bmatrix}.}}}} & (23)\end{matrix}$

Equations (22) and (23) represent collectively the information containedin the equation of FIG. 8 for voltage mode control. The states are θ,the angular position of the VCM shaft in units of radians, ω, theangular velocity of the VCM shaft in units of radians/sec, i, the VCMcoil current in units of Amperes and b, a bias in units of D/A bits. Theoutput is y, the position of the read/write head in units of track bits.

Although the plant is positioned by a discrete-time control systemrunning in a DSP, the computational delay in the voltage mode plantmodel was thought to have a negligible effect on the design of thecontrol system. Therefore, this delay was not included in the voltagemode plant model.

For convenience in the firmware, the units of the state variables werealso changed for voltage mode. The transformation $\begin{matrix}{T = \begin{bmatrix}K_{pes} & 0 & 0 & 0 \\0 & {K_{pes} \cdot T_{s}} & 0 & 0 \\0 & 0 & 20000 & 0 \\0 & 0 & 0 & 1\end{bmatrix}} & (24)\end{matrix}$

was applied to give the angular position state units of bits, theangular velocity state units of track bits/sample and the coil currentstate units of 20000*A. The units of the bias state were unchanged bythis transformation.

After changing the units of the state variables, the numerical model ofthe voltage mode plant can be written in the form

 x[n+1]=Fx[n]+Gu[n]y[n]=Hx[n]  (25)

where $\begin{matrix}{{F = \begin{bmatrix}1 & 0.99803 & 0.11659 & 0.40638 \\0 & 0.99448 & 0.20297 & 1.1389 \\0 & {- 0.031199} & 0.40407 & 6.4365 \\0 & 0 & 0 & 1\end{bmatrix}}{G = {{\begin{bmatrix}0.40638 \\1.1389 \\6.4365 \\0\end{bmatrix}\quad H^{T}} = \begin{bmatrix}1 \\0 \\0 \\0\end{bmatrix}}}} & (26)\end{matrix}$

This simplified model of the voltage mode plant has an integrator, apole at 18 Hz representing the mechanical time constant of the VCM and apole at 980 Hz representing the electrical time constant of the VCM.

Given the model and frequency response of the voltage mode plant, thecontrol system can now be designed to make the hard disk drive seek andtrack. Since these two modes of operation are distinctly different,there is actually a separate controller for each one.

Voltage Mode Seeking Controller

The purpose of the seeking controller is to move the actuator arm fromthe current track location to within a few tracks of a desired tracklocation in the shortest amount of time possible. This objective isaccomplished for voltage mode control in the same manner as it was incurrent mode control, by controlling the acceleration and decelerationportions of the seek trajectory. Once the head position error is withina prescribed number of tracks, the control system transitions from theseeking controller to the tracking controller.

The acceleration portion of the seek trajectory is basically open loopfrom a control systems perspective. The control system determines thesign and magnitude of the maximum command it can apply based on thedirection and length of the seek. Using an estimator, the velocity ispredicted for the next control cycle to determine when the decelerationportion of the seek trajectory should be used. Once the predictedvelocity exceeds the velocity necessary for decelerating to the desiredtrack, the deceleration portion of the seek trajectory is activated.

The deceleration portion of the seek trajectory is separated into twoparts depending on the number of tracks that the head is from thedesired track. If the head is more than 60 tracks from the desiredtrack, then a square root velocity profile command is used to controlthe head position. For example, if the head is within 60 tracks, then alinear velocity profile command is used to control the head position.

To compute the appropriate control commands, predicted head velocity isonce again needed during the acceleration portion of the seek trajectoryand current head velocity is needed during the deceleration portion ofthe seek trajectory. As with current mode control of a hard disk drive,the position of the head is determined by comparing the relativeamplitudes of servo bursts and a state estimator is used to provide thevelocity estimates. The same current estimator/regulator form

x _(c)[n]=x _(p)[n]+L _(c)(y[n]−Hx _(p)[n]) x _(p)[n+1]=Fx_(c)[n]+Gu[n]u[n]=−K_(c) x _(c)[n]  (27)

is used in the voltage mode control system design.

From this one form, the predicted head velocity can be determined forthe acceleration portion of the seek trajectory and the current headvelocity can be determined for the deceleration portion of the seektrajectory. A block diagram showing the seeking deceleration controlleris shown in FIG. 9. This form of the regulator allows the square rootvelocity profile and the linear velocity profile to coexist in the samecontrol architecture. The current velocity estimate is subtracted fromthe desired velocity to form a velocity error which drives the rest ofthe control system.

To control and stabilize the voltage mode plant, the controller willneed an integrator to minimize the position error and two lead terms toadd phase margin near the crossover frequency. Since the electrical poleis within one decade of the desired crossover frequency, an additionalzero will be required to compensate for the phase loss from this term.Pairing a pole with each zero, the controller will contain a third orderpolynomial in its numerator and denominator. The location of each poleand zero is orchestrated so that the low frequency gain is maximizedwhile achieving roughly the same gain and phase margin as the currentmode seeking controller.

The series filter developed for the voltage mode architecture can bewritten as $\begin{matrix}{{C(z)} = {\frac{0.2785{z\left( {z - 0.4260} \right)}\left( {z^{2} - {1.7812z} + 0.7957} \right)}{\left( {z - 0.0009} \right)\left( {z - 1} \right)\left( {z^{2} - {0.0517z} + 0.1184} \right)}.}} & (28)\end{matrix}$

The controller frequency response can be combined with the plantfrequency response to produce the open loop frequency response. For thisseeking controller, the gain margin is 6.6 dB, the phase margin is 30.7°and the open-loop crossover frequency is 543.0 Hz.

Voltage Mode Tracking Controller

The purpose of the tracking controller is to assume control of the VCMfrom the seeking controller when the head is a few tracks away for thedesired track and move it to the desired location with less than onetrack of overshoot. This objective is accomplished for voltage modecontrol in the same manner as it was in current mode control. Once thehead is within a pre-determined fraction of a track for severalconsecutive control cycles, the system is considered to be ‘on-track’and reading and writing data can occur. If the head position everexceeds a small fraction of a track, it is considered ‘off-track’ andthe hard drive is not allowed to write data. Therefore, it is importantthat the control system keeps the head ‘on-track’ once it has achievedthe on track state.

To better regulate the position error of the system, the trackingcontroller is a series filter with P_(err) as its input and a DACcommand, u, as its output. The rationale for designing this controlleris very similar to the rationale for designing the seeking controller.The controller will need an integrator to minimize the position errorand two lead terms to add phase margin near the crossover frequency.Since the electrical pole is within one decade of the desired crossoverfrequency, an additional zero will be required to compensate for thephase loss from this pole. Pairing a pole with each zero, the controllerwill contain a third order polynomial in its numerator and denominator.However, since the integrator can turn on and off, stabilityconsiderations force an additional pole and zero to be added to thetransfer function of the controller. The resulting form of the trackingcontroller for voltage mode can be written as $\begin{matrix}{\frac{u}{P_{err}} = {K_{loop}\frac{{b_{0}z^{4}} + {b_{1}z^{3}} + {b_{2}z^{2}} + {b_{3}z} + b_{4}}{z^{4} + {a_{1}z^{3}} + {a_{2}z^{2}} + {a_{3}z} + a_{4}}}} & (29)\end{matrix}$

Each pole and zero is located so that the low frequency gain ismaximized while achieving roughly the same gain and phase margin as thecurrent mode open loop system.

Since the control system is running on a fixed-point processor, aparallel representation of the control system was chosen to minimizenumerical issues. FIG. 10 shows an equivalent block diagram of theseries filter in equation (29). This form permits a large portion of thecontroller to be pre-computed so that the computational delay isminimized. The α₁₁, α₂₁, α₃₁ and α₃₂ variables configure the polelocations of the filter. Since the controller has one integrator,α₁₁=−1. The remaining terms, α₂₁, α31 and α₃₂, can be found from thepole locations of the desired filter. The b₁₁, b₂₀, b₂₁, b₃₀, b₃₁ andb₃₂ variables control the zero locations of the filter. The b₁₁ variablealso allows the integrator to be turned on and off depending on thecontrol system logic. Finally, the K_(loop) variable is used to adjustthe DC gain of the controller so that calibration routines can set anopen-loop crossover at some nominal low frequency (as an example, 600Hz) for the open-loop system. This variable has been nominally set to0.25 in the model.

Since there are five numerator coefficients (b₀, b₁, b₂, b₃ and b₄) inthe series filter and six unknown numerator coefficients (b₁₁, b₂₀, b₂₁,b₃₀, b₃₁, and b₃₂) in the parallel representation, an additionalconstraint equation must be established for a unique solution. Theconstraint chosen for this design is the DC gain of the second-orderfilter term in FIG. 10. By specifying this gain, the coefficients inthis term can be balanced for more accurate fixed-point arithmetic. Thematrix equation to solve for the unknown coefficients becomes$\begin{matrix}{{\begin{bmatrix}0 & 1 & 0 & 1 & 0 & 0 \\1 & {a_{31} - 1} & 1 & {a_{21} - 1} & 1 & 0 \\{a_{21} + a_{31}} & {a_{32} - a_{31}} & {a_{31} - 1} & {- a_{21}} & {a_{21} - 1} & 1 \\{a_{32} + {a_{21}a_{31}}} & {- a_{32}} & {a_{32} - a_{31}} & 0 & {- a_{21}} & {a_{21} - 1} \\{a_{21}a_{32}} & 0 & {- a_{32}} & 0 & 0 & {- a_{21}} \\0 & 0 & 0 & 1 & 1 & 1\end{bmatrix}\begin{bmatrix}b_{11} \\b_{20} \\b_{21} \\b_{30} \\b_{31} \\b_{32}\end{bmatrix}} = \begin{bmatrix}b_{0} \\b_{1} \\b_{2} \\b_{3} \\b_{4} \\{10^{{dBGain}/20}\left( {1 + a_{31} + a_{32}} \right)}\end{bmatrix}} & (30)\end{matrix}$

where dBGain is the DC gain of the second-order filter term in decibels(dB). The values for each coefficient are α₂₁=−0.991, α₃₁=0.2687,α₃₂=0.0976, b₁₁=0.0091 or 0, b₂₀=−0.0062, b₂₁=0.0061, b₃₀=1.6648,b₃₁=−2.1231 and b₃₂=0.6414. These gains make the DC gain of thesecond-order term −29.5 dB.

The frequency response of the tracking controller for voltage mode showsthat the primary effect of turning the integrator off is a gain shift toa constant value of −30 dB and a phase shift of 90° below 100 Hz. Nearthe open-loop crossover frequency of 600 Hz, the magnitude and phase ofthe two controllers are nearly identical so there are not any stabilityissues related to the integrator.

Simulation results show that the effect of the tracking controller onthe plant frequency response may be summarized as follows. When theintegrator is off, the gain margin is 6.5 dB, the phase margin is 39.5°and the open-loop crossover frequency is 624.5 Hz. After turning on theintegrator, the gain margin becomes 6.6 dB, the phase margin becomes40.5° and the open-loop crossover frequency becomes 600 Hz. In eithercase, the phase margin for the tracking controller is nearly 10° largerthan the phase margin for the seeking controller. This extra phasemargin will reduce the amount overshoot in the seek response as the headapproaches the desired track.

Experimental Validation

FIG. 11 illustrates the behavior of the composite PES signal for bothcurrent mode 1101 and voltage mode 1102 at track number 2600, arepresentative central track. The statistical parameters such as mean,μ, standard deviation, σ, and maximum value, max, are essentially thesame for the current mode and the voltage mode control architectures.FIG. 12 illustrates the results from a random seek test by plotting seektime in milliseconds versus seek length in tracks for current mode andvoltage mode. For a given seek length, the seek times are essentiallyequivalent for the current mode and voltage mode control architectures.Both FIG. 11 and FIG. 12 illustrate that there is virtually nodifference in performance between the two architectures. The voltagemode architecture of this invention provides a simpler solutionrequiring less hardware, which lowers the overall cost.

What is claimed is:
 1. A method for controlling the data track seekingand following of a head in a data recording disk file of the type havinga disk with servo information thereon defining data track centerlines, ahead for reading samples of the servo information during rotation of thedisk, an actuator connected to the head and responsive to an inputsignal for positioning the head to the centerline of a target trackduring track seeking and maintaining the head over the centerline of thetarget track during following, the method comprising the steps of:sensing from the servo information a sampled head position error signal(PES) representative of the position of the head relative to thecenterline of the nearest track; estimating for each PES sample anabsolute head position relative to a fixed reference; estimating foreach PES sample a head velocity; estimating for each PES sample anactuator current; estimating for each PES sample a bias force indicativeof the equivalent actuator input signal required to compensate biasforces acting on the actuator; and calculating for at least each PESsample an actuator voltage control signal as a function of said PESsignal, said estimated absolute head position, said estimated headvelocity, said estimated actuator current and said estimated bias force.2. The method according to claim 1, wherein: said step of calculating anactuator voltage control signal includes calculation of a differencebetween said estimated absolute head position and a desired headposition.
 3. The method according to claim 2, wherein: said step ofcalculating an actuator voltage control signal includes calculating anopen loop acceleration portion until said estimated head velocityexceeds a velocity necessary for decelerating to said desired headposition and the calculating a deceleration portion until said estimatedabsolute head position equals said desired head position.
 4. The methodaccording to claim 3, wherein: said step of calculating an actuatorvoltage control signal includes calculating a first deceleration portionhaving a square root velocity profile if said estimated absolute headposition differs from said desired head position by more than apredetermined amount and having a linear velocity profile if saidestimated absolute head position differs from said desired head positionby less than said predetermined amount.
 5. An apparatus for controllingthe data track seeking and following of a head in a data recording diskfile of the type having a disk with servo information thereon definingdata track centerlines, a head for reading samples of the servoinformation during rotation of the disk, an actuator connected to thehead and responsive to an input signal for positioning the head to thecenterline of a target track during track seeking and maintaining thehead over the centerline of the target track during following, theapparatus comprising: detecting the servo information; demodulating saidservo information into an in-phase position signal and a quadratureposition signal; a first analog-to-digital converter convertingreceiving said in-phase position signal and converting said in-phaseposition signal into a digital in-phase position signal; a secondanalog-to-digital converter converting receiving said quadratureposition signal and converting said quadrature position signal into adigital quadrature position signal; a digital signal processor connectedto said first analog-to-digital converter for receiving said digitalin-phase position signal, said second analog-to-digital convertingreceiving said digital quadrature position signal, receiving a desiredposition signal, said digital signal processor programmed to calculatefrom said digital in-phase position signal and said digital quadratureposition signal a sampled head position error signal (PES)representative of the position of the head relative to the centerline ofthe nearest track; estimate for each PES sample an absolute headposition relative to a fixed reference; and calculate for at least eachPES sample a digital actuator voltage control signal as a function ofsaid PES signal and the desired position signal; and a digital-to-analogconverter connected to said digital signal processor receiving saiddigital actuator signal and generating an analog actuator signal forsupply to the actuator.
 6. The apparatus of claim 5, wherein: saiddigital signal processor is further programmed to calculate saidactuator voltage control signal by calculating an open loop accelerationportion until said estimated head velocity exceeds a velocity necessaryfor decelerating to said desired head position and the calculating adeceleration portion until said estimated absolute head position equalssaid desired head position.
 7. The apparatus of claim 6, wherein: saiddigital signal processor is further programmed to calculate saidactuator voltage control signal by calculating a first decelerationportion having a square root velocity profile if said estimated absolutehead position differs from said desired head position by more than apredetermined amount and having a linear velocity profile if saidestimated absolute head position differs from said desired head positionby less than said predetermined amount.
 8. An apparatus for controllingthe data track seeking and following of a head in a data recording diskfile of the type having a disk with servo information thereon definingdata track centerlines, a head for reading samples of the servoinformation during rotation of the disk, an actuator connected to thehead and responsive to an input signal for positioning the head to thecenterline of a target track during track seeking and maintaining thehead over the centerline of the target track during following, theapparatus comprising: detecting the servo information; demodulating saidservo information into an in-phase position signal and a quadratureposition signal; a first sample-and-hold circuit receiving and holdingsaid in-phase position signal; a second sample-and-hold circuitreceiving and holding said quadrature position signal; ananalog-to-digital converter receiving said in-phase position signal andsaid quadrature position signal, said analog-to-digital convertermultiplexed between said in-phase position signal and said quadratureposition signal said for alternately converting said held in-phaseposition signal into a digital in-phase position signal and said heldquadrature position signal into a digital quadrature position signal; adigital signal processor connected to said first analog-to-digitalconverter for receiving said digital in-phase position signal, saidsecond analog-to-digital converting receiving said digital quadratureposition signal, receiving a desired position signal, said digitalsignal processor programmed to calculate from said digital in-phaseposition signal and said digital quadrature position signal a sampledhead position error signal (PES) representative of the position of thehead relative to the centerline of the nearest track; estimate for eachPES sample an absolute head position relative to a fixed reference; andcalculate for at least each PES sample a digital actuator voltagecontrol signal as a function of said PES signal and the desired positionsignal; and a digital-to-analog converter connected to said digitalsignal processor receiving said digital actuator signal and generatingan analog actuator signal for supply to the actuator.
 9. The apparatusof claim 8, wherein: said digital signal processor is further programmedto calculate said actuator voltage control signal by calculating an openloop acceleration portion until said estimated head velocity exceeds avelocity necessary for decelerating to said desired head position andthe calculating a deceleration portion until said estimated absolutehead position equals said desired head position.
 10. The apparatus ofclaim 9, wherein: said digital signal processor is further programmed tocalculate said actuator voltage control signal by calculating a firstdeceleration portion having a square root velocity profile if saidestimated absolute head position differs from said desired head positionby more than a predetermined amount and having a linear velocity profileif said estimated absolute head position differs from said desired headposition by less than said predetermined amount.
 11. A method forcontrolling the data track seeking and following of a head in a datarecording disk file of the type having a disk with servo informationthereon defining data track centerlines, a head for reading samples ofthe servo information during rotation of the disk, an actuator connectedto the head and responsive to an input signal for positioning the headto the centerline of a target track during track seeking and maintainingthe head over the centerline of the target track during following, themethod comprising the steps of: sensing from the servo information asampled head position error signal (PES) representative of the positionof the head relative to the centerline of the nearest track; estimatingfor each PES sample an absolute head position relative to a fixedreference; and calculating for at least each PES sample an actuatorvoltage control signal as a function of said PES signal at a frequencyother than a PES sample frequency.